Перейти к основному содержимому

Описание синтаксиса

DSL (Domain-Specific Language) — это специализированный язык запросов, разработанный для эффективной работы с событиями и логами в системах информационной безопасности. Язык был создан экспертами компании Solar в качестве middleware-решения для интеграции различных приложений ИБ с базой данных ClickHouse

Основное преимущество DSL — возможность описания логических выборок и трансформаций без необходимости составления полноценных SQL-запросов, за счёт более лаконичного и предметно-ориентированного синтаксиса

Регистрозависимость

Поиск значений выполняется с учётом регистра

Для некоторых полей регистр является строгим требованием (например, поле action требует указания значений в верхнем регистре: ALLOW, BLOCK, DETECT)

Пример:

Поиск логина `login = "ivanov"` найдёт только записи, где значение точно соответствует `"ivanov"`  
Записи `"Ivanov"`, `"IVANOV"` не будут найдены

Для операторов и ключевых фраз допустимы следующие варианты написания:

  • В верхнем регистре: IS NULL
  • В нижнем регистре: is null
  • С заглавной буквы: Is Null

Недопустимые варианты:

  • Is nUll
  • iS NuLL

Поддерживаемые типы данных

Тип данныхОписаниеПример
stringСтроковые значения"ivanov"
numberЧисловые значения2
boolБулевы значенияtrue, false
number arrayМассив чисел[1, 2]
string arrayМассив строк["ivanov", "ivanov2"]
bool arrayМассив булевых значений[true, false]

Все перечисленные типы данных могут принимать значение NULL, что означает отсутствие данных